package cn.schoolwow.quickdao.module.database.dql.condition.domain;

import cn.schoolwow.quickdao.domain.database.dql.condition.QueryColumnTypeMapping;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 查询列信息
 * */
public class QueryColumnOption implements Serializable {
    /**
     * distinct
     */
    public String distinct = "";

    /**
     * 用户指定查询列名
     */
    public List<String> columnList = new ArrayList<>();

    /**
     * 用户指定排除字段
     */
    public List<String> excludeColumnList = new ArrayList<>();

    /**
     * 是否返回关联表属性
     */
    public boolean compositeField;

    /**
     * select子句参数列表
     */
    public List<Object> columnParameterList = new ArrayList();

    /**
     * 指定返回列类型
     * */
    public transient Map<String,Class> queryColumnTypeMap = new HashMap<>();

    /**
     * 指定返回列类型函数
     * */
    public transient QueryColumnTypeMapping queryColumnTypeMapping;
}
